AWS Dynamodb 是一個 No SQL 資料庫,在存一些比較非結構化資料時,相當有彈性。
最近遇到一個狀況,就是需要將 AWS Dynamodb 資料匯出,AWS 的命令列工具沒有提供這方面的指令,Web 介面雖然有這個功能,但是一次只能匯出 100 筆資料。
官方雖然有 Amazon Data Pipeline (資料工作流程協調流程服務)這個服務,一方面沒用過,另一方面只有幾千筆的資料,覺得有點用牛刀殺雞的感覺。
後來找到一個專案 DynamoDBtoCSV(https://github.com/edasque/DynamoDBtoCSV)是用 Node.js 開發,設定簡單,速度也不錯,推薦給大家。
因為太簡單了,所以也不知道要不要寫步驟,不過就備忘一下好了。
以下指令都在命令列下執行
//把 DynamoDBtoCSV 下載下來並切換到該目錄
git clone git@github.com:edasque/DynamoDBtoCSV.git && cd DynamoDBtoCSV
//把依賴的 moduel 裝一下
npm install
//修改 config.json,換成你的 aws 資料
{
"accessKeyId": "REPLACE",
"secretAccessKey": "REPLACE",
"region": "REPLACE"
}
//執行下面執令,即會開始下載並存成 csv
node dynamoDBtoCSV.js -t (dynamodb名稱) > xxx.csv
另外這一篇文章有介紹更多相關的工具,如果你不喜歡這個方法,也許在這文章中可以找到更適合你的
https://medium.com/@quodlibet_be/an-overview-of-tools-to-export-from-dynamoddb-to-csv-d2707ad992ac